Skip to content

Conversation

@ArtifactForms
Copy link
Owner

No description provided.

- Implemented the `multiply(Matrix4)` method in the `Vector4f` class to
perform matrix-vector multiplication.
- Added JavaDoc to describe the method's behavior, mathematical
operation, and usage.
- Created comprehensive unit tests to verify the correctness of the
method using various transformation matrices and vectors.
- Initialized matrices using one-dimensional float arrays for
consistency and readability in the tests.
- Implemented `toVector3f()` in `Vector4f` to convert a 4D vector into a
3D vector by discarding the w-component.
- Included detailed JavaDoc explaining the conversion logic.
- Added unit tests to verify correctness with positive, negative, and
zero values.
- Implemented divideByW() method to create and return a new Vector4f by
dividing the vector components by 'w' and setting 'w' to 1.0f, with
exception handling for division by zero.
- Implemented divideByWLocal() method to modify the current vector in
place by dividing the components by 'w' and setting 'w' to 1.0f, with
exception handling for division by zero.
- Added unit tests to ensure correct functionality:
  - Test for divideByW() that verifies the original vector is untouched
and a new instance is returned.
  - Test for divideByWLocal() that checks the modification of the
original vector in place.
  - Test for division by zero that asserts an exception is thrown in
both methods when 'w' is zero.

These methods improve handling of homogeneous coordinates in 3D vectors.
- Replaced deprecated methods
- Changed format
- Renamed snapToGround / snapToGroundAndCenterZ
- Corrected the `calculateAngleBetweenPoints()` method to properly
compute the incremental angle step between vertices.
- Adjusted the vertex creation loop to apply the `startAngle` offset
during vertex placement.
- Ensured accurate vertex placement along the arc, fixing unexpected
results for non-default angles.
- Added a validation check to ensure the vertex count is at least 2.

This fix resolves issues with improper vertex placement when creating
arcs with custom start and end angles.
the center point of the generated arc.
- Added `getMoveSpeed()` to retrieve the current movement speed.
- Added `setMoveSpeed(float moveSpeed)` to update the movement speed
dynamically.
- Enables runtime customization of camera movement speed.
JavaDoc to the FlyByCameraControl class.
These methods provide access to the mouseSensitivity field, allowing for
dynamic adjustment of camera rotation speed.
This is useful for user preference settings or in-game adjustments.
only once at the end.
This improves efficiency by reducing redundant calculations after camera
and transform updates.
@ArtifactForms ArtifactForms merged commit 188f232 into master Dec 31, 2024
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants